﻿#include<stdio.h>
#include<string.h>
#include<conio.h>
//共用体的关键字:union 关键字
//内存存储：共用体所有成员共用里面最大的成员的空间，在同一个时刻，只能存储一个成员的值
//只算最大的成员
//union Arr
//{
//	int a; 
//	float b;
//};


//枚举类型：enum
//枚举类型就是int所占内内存大小(4个字节)
//枚举的元素会有默认的值，是整数
//enum Arr1
//{
//	left,
//	inght,
//	up,
//	down
//};

//enum
//{
//	up ='w',down='s',right='d',left='a'
//};//给w赋的值对应着ASCAL对应的值
//
//
//enum Arr4
//{
//	a,b,c,d,e,f
//};
//int main()
//{
//	printf("%d,%d,%d,%d,%d,%d\n",a,b,c,d,e,f);
//	printf("%d\n", down);
//
//	while (1)
//	{
//		switch (_getch())
//		{
//		case up:
//			printf("你按了上这个键\n");
//			break;
//		case down:
//			printf("你按了下这个键\n");
//			break;
//		case left:
//			printf("你按了左这个键\n");
//			break;
//		case right:
//			printf("你按了右这个键\n");
//			break;
//		}
//	}
//
//
//	//printf("Arr的字节数为%zd\n", sizeof(Arr1));
//	//printf("Arr的字节数为%zd\n",sizeof(Arr));
//
//	return 0;
//}


union Arr
{
	int c;
	char a[10];
	float b;

};

//枚举类型  enum
//内存大小就是int类型所占的内存大小
//枚举的元素会有默认的值，是整数,第一个元素的默认的值为0 第二个为一
//第n个就是n-1个元素的值+1
//enum Arr1
//{
//	left,right,up,down
//};


typedef enum 
{
	up ='w',down='s',right='d',left='a'//定义枚举
}Arra;
enum aaa3
{
	a,b,c,d,e,f//第一个值默认为0 后面的为1，2，3，4，5，6
};

int main()
{
	printf("%d\n",a);
	printf("%d",up);
	while (1)
	{
		switch (_getch())
		{
		case up:
			printf("上\n");
			break;
		case down:
			printf("下\n");
			break;
		case left:
			printf("左\n");
			break;
		case right:
			printf("右\n");
			break;
		}
	}


	
	/*printf("Arr的字节数为%d\n",sizeof(Arr));
	printf("Arr1的字节数为%d\n", sizeof(Arr1));*/


	return 0;
}

